package com.yonyou.pmclouds.task.rmiitf;

import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.task.entity.TaskVO;

import java.util.List;
import java.util.Map;

public interface TaskQueryRemoteService {

    /**
     * 根据接收人查询代办任务集合
     *
     * @param pk_receiver
     * @return
     */
    List<TaskVO> queryTodoTaskList(String pk_receiver) throws BusinessException;


    /**
     * 根据接收人查询已完成任务集合
     *
     * @param pk_receiver
     * @return
     */
    List<TaskVO> queryDoneTaskList(String pk_receiver, int start, int size) throws BusinessException;

    List<TaskVO> queryDoneTaskListExceptReject(String pkReceiver, int start, int size) throws BusinessException;

    /**
     * 查询我发起的单据信息
     *
     * @param taskcreator
     * @param start
     * @param size
     * @return
     * @throws BusinessException
     */
    List<TaskVO> queryOwnLaunchBills(String taskcreator, int start, int size) throws BusinessException;

    /**
     *
     * 方法功能描述：查询“我的”页签中的数据，包括待办和前二十条我发起的。
     *
     * <b>参数说明</b>
     * @return
     * @throws BusinessException
     * @author zhangwce
     * @time 2017年11月6日 下午9:16:56
     */
    Map<String, List<TaskVO>> queryRelateMeBill(String pk_user) throws BusinessException;
    /**
     *
     * 方法功能描述：简要描述本方法的功能。
     *
     * <b>参数说明</b>
     * @param pk_bills
     * @param pk_receiver
     * @return
     * @throws BusinessException
     * @author zhangwce
     * @time 2017年11月14日 下午3:48:44
     */
    TaskVO[] queryTaskByBillAndReceiver(String[] pk_bills, String pk_receiver) throws BusinessException;
    /**
     * 根据前置任务，查询下一步的任务
     */
    TaskVO[] queryByPretask(String[] pkPretasks) throws BusinessException;

}
